package com.sinosoft.emplmis.jobless.manager;

import java.util.List;

import com.sinosoft.emplmis.jobless.entity.JoblessInfoEntity;
import com.sinosoft.emplmis.jobless.web.dto.JoblessInfoData;
import com.sinosoft.emplmis.jobless.web.dto.JoblessSearchData;

public interface JoblessInfoManager {
	
	/**
     * 获取失业人员信息总表
     * @param 
     * @return
     */	
	List<JoblessInfoEntity> selectAll(JoblessSearchData data);
	
	/**
	 * 添加失业人员信息
	 * @param 
	 * @return
	 */
	int insert(JoblessInfoEntity record);
	
	/**
     * 根据主键删除一条失业人员信息
     * @param 
     * @return
     */
	int deleteByPrimaryKey(String unemployedId);
	
	/**
     * 根据主键提交放弃求职人员的申请
     * @param 
     * @return
     */
	int auditSubmitInfo(String unemployedId);
	
	/**
     * 根据主键审核放弃求职人员的申请
     * @param 
     * @return
     */
	int auditGiveupInfo(String unemployedId);
	
	/**
     * 根据主键删除放弃求职人员的申请
     * @param 
     * @return
     */
	int giveupRemove(String unemployedId);

	/**
     * 根据主键获取一条失业人员信息
     * @param unemployedId
     * @return
     */
	JoblessInfoEntity selectByPrimaryKey(String unemployedId);
	
	/**
     * 根据主键修改失业人员信息
     * @param record
     * @return
     */
    int updateByPrimaryKey(JoblessInfoEntity record);
    
    /**
     * 根据主键修改放弃求职人员信息
     * @param record
     * @return
     */
    int updateJoblessGiveup(JoblessInfoEntity record);
    
    /**
     * 根据主键修改困难人员信息
     * @param record
     * @return
     */
    int updateDifficulty(JoblessInfoEntity record);
    
    /**
     * 获取困难人员信息
     * @param data
     * @return
     */
    List<JoblessInfoEntity> difficultyInfoList(JoblessSearchData data);
    
    /**
     * 获取历史困难人员信息
     * @param data
     * @return
     */
    List<JoblessInfoEntity> historyDifficultyInfoList(JoblessSearchData data);
    
    /**
     * 获取当年实现就业人员信息
     * @param data
     * @return
     */
    List<JoblessInfoEntity> joblessRealizeList(JoblessSearchData data);
    
    /**
     * 获取客观原因减少信息
     * @param data
     * @return
     */
    List<JoblessInfoEntity> joblessReduceList(JoblessSearchData data);  
    
    /**
     * 获取放弃求职人员减少申报信息
     * @param data
     * @return
     */
    List<JoblessInfoEntity> joblessGiveupList(JoblessSearchData data); 
    
    
    /**
     * 查询总条目数
     * @param data
     * @return
     */
    int count(JoblessSearchData data);
    
    /**
     * 查询就业困难人员总条目数
     * @param data
     * @return
     */
    int countDifficulty(JoblessSearchData data);
    
    /**
     * 查询历史困难人员总条目数
     * @param data
     * @return
     */
    int countHistoryDifficulty(JoblessSearchData data);
    
    /**
     * 查询当年实现就业总条目数
     * @param data
     * @return
     */
    int countrealjob(JoblessSearchData data);
    
    int countremovereason(JoblessSearchData data);
    
    int countgiveup(JoblessSearchData data);
}
